/**
 * ok
 * 我的单链表——MySingleList,功能测试完成~
 * 不过，有些情况可能没有测试到
 * 所以，
 *可能有些情况还是会不正确
 * 但是目前测试的内容是正确的
 *
 */

public class Test_MySingleList {

    public static void main(String[] args) {
        MySingleList list = new MySingleList();
        //MySingleList.ListNode list = new MySingleList();
        System.out.println("依次用尾插法插入1 2 3 4 5 ，并在最后输出");
        list.addFirst(1);
        list.addFirst(2);
        list.addFirst(3);
        list.addFirst(4);
        list.addFirst(5);
        list.display();

        System.out.println("再用头插法依次插入 11 22 33 44 55 ，并在最后输出");
        list.addLast(11);
        list.addLast(22);
        list.addLast(33);
        list.addLast(44);
        list.addLast(55);
        list.display();

        System.out.println("依次判断是否存在元素1 44 6 88");
        System.out.println(list.contains(1));
        System.out.println(list.contains(44));
        System.out.println(list.contains(6));
        System.out.println(list.contains(88));

        System.out.println("在1 下标 插入 111");
        list.addIndex(1 ,111);
        System.out.println("之后");
        System.out.println("在2 下标 插入 222");
        list.addIndex(2 ,222);
        System.out.println("之后");
        System.out.println("在3 下标 插入 333");
        list.addIndex(3 ,333);
        System.out.println("之后");
        System.out.println("在4 下标 插入 444");
        list.addIndex(4 ,444);

        System.out.println("四次按所给下标插入后，结果为：");
        list.display();

        System.out.println("移除对应元素的节点：");
        list.remove(1);
        System.out.println("移除元素1，之后：");
        list.display();

        list.remove(33);
        System.out.println("移除元素33，之后：");
        list.display();

        System.out.println("添加几个相同值的节点：");
        list.addIndex(1 ,111);
        list.addIndex(6 ,111);
        list.addIndex(9 ,111);
        list.addIndex(13 ,111);
        System.out.println("结果为：");
        list.display();

        System.out.println("删除所有给定元素：111");
        list.removeAllKey(111);
        list.display();
        System.out.println("测试写的异常是否能正常执行：");
        list.addIndex(30,999);

        System.out.println("清空链表：");
        list.clear();
        list.display();
        System.out.println("看到我这句，说明“ list.display();”已经执行过啦~");

    }
}
